# -*- coding:utf-8 -*-
# ⼦类调⽤⽗类的⽅法和属性
# 在子类里面重新调用父类的方法，再次在子类里，继承父类的方法
class Master_Kurong(object):
    def __init__(self):
        self.kunfu_kurong = "六脉神剑"

    def kurong(self):
        print(f"枯荣大师的功夫--{self.kunfu_kurong}")


class Master_Sanfeng(object):
    def __init__(self):
        self.kunfu_sanfeng = "太极"

    def sanfeng(self):
        print(f"张三丰的功夫是--{self.kunfu_sanfeng}")


# 多继承里，先继承谁就能使用谁的
class Student_Zangsan(Master_Kurong, Master_Sanfeng):
    # 子类同时继承多个，需要在下面使用: 父类.__init__(self)
    # 比如：
    def __init__(self):
        # 子类里修改，从父类继承的属性(这里指的是功夫)
        self.kunfu_kurong = "万剑归宗"
        self.kunfu_sanfeng = "降龙十八掌"

    def zhangsan(self):
        print(f"张三自创的武功 -- {self.kunfu_kurong} -- {self.kunfu_sanfeng}")

    # 在子类里面重新调用父类的方法，再次在子类里，继承父类的方法
    def zhangsan_kurong(self):
        Master_Kurong.__init__(self)
        Master_Kurong.kurong(self)

    def zhangsan_sanfeng(self):
        Master_Sanfeng.__init__(self)
        Master_Sanfeng.sanfeng(self)


func = Student_Zangsan()
func.zhangsan()
func.zhangsan_kurong()
func.zhangsan_sanfeng()